﻿IF EXISTS (SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = 'OTCotizacionGet')
	BEGIN
		DROP  Procedure  OTCotizacionGet
	END
GO

CREATE PROCEDURE [dbo].[OTCotizacionGet]
	(	
		@EmpresaId	AS INT,
		@NumeroOT	AS VARCHAR(30)
	)	
AS
BEGIN	
	SET NOCOUNT ON

	-- Lista de tablas a ser devueltas a la aplicacion para cargar la hoja de registro	
	SELECT 0 AS TableId, 'Catalog'				AS TableName	UNION
	SELECT 1 AS TableId, 'OrdenTrabajo'			AS TableName	UNION
	SELECT 2 AS TableId, 'OTEntrega'			AS TableName	UNION
	SELECT 4 AS TableId, 'OTMaterialCotizado'	AS TableName    
	
	
	-- OrdenTrabajo
	SELECT	Id, 
			EmpresaId,
			FechaIngreso, 
			FechaInicial,
			FechaFinal, 
			FechaEntrega,
			ArticuloId,
			NumeroOT, 
			C.Cliente_id As ClienteId, 
			C.Cliente_Nombre As ClienteNombre,
			A.Art_Id AS ProductoId, 
			Art_Nombre AS ProductoNombre, 
			OT.VendedorId,
			Vendedor_Nombre + ' ' + Vendedor_Apellido1 + ' ' + Vendedor_Apellido2 As VendedorNombre,
			Referencia,
			PruebaColor, 
			Laser, 
			Cromacheck, 
			TrabajoNuevo, 
			ReimpresionCambios, 
			ReimpresionExacta, 
			Cantidad, 
			TamanoFinal,
			Impresion2Lados,
			FullColor,
			DosColores,
			UnColor,
			Pantone,
			Otros,
			AcabadosFinales,
			Factura,
			Comentarios,
			HorasAcabados, 
			HorasPrensas, 
			GastosIndirectos,
			CantidadDommies, 
			Observaciones,
			Boleta,
			VistoBuenoMaquina,
			DibujoMontaje,
			EstadoId
	FROM Lit_OT OT
	LEFT JOIN Cliente C ON OT.EmpresaId = C.Emp_id AND OT.ClienteId = C.Cliente_id
	LEFT JOIN Articulo A ON OT.EmpresaId = A.Emp_id AND OT.ArticuloId = A.Art_Id
	LEFT JOIN Vendedor V ON OT.EmpresaId = V.Emp_id AND OT.VendedorId = CONVERT(INT, V.Vendedor_Id)
	WHERE NumeroOT = @NumeroOT  

	-- OTEntrega
	
	SELECT	oe.Id,
			oe.OTId,
			Orden, 
			oe.FechaInicial, 
			oe.FechaFinal,
			oe.FechaEntrega,
			UnidadesSolicitadas,
			UnidadesProducidas, 
			ManoObraIndirecta, 
			oe.EstadoId, 
			e.Estado AS EstadoNombre
	FROM Lit_OTEntrega oe
	INNER JOIN Lit_OT o ON (oe.OTId = o.Id)
	INNER JOIN Lit_Estado e ON e.Id = oe.EstadoId
	WHERE o.NumeroOT = @NumeroOT
			
	-- OTMaterialCotizado
	SELECT	om.Id, 
			OTId,
			A.Art_Id As ArticuloId,
			Art_Nombre AS ArticuloNombre,
			Papel,
			TamanoPliegoMaterial,
			TamanoPliegoPrensa,
			om.Cantidad,
			Aumento,
			PliegosTotal, 
			PliegosPrensaTotal,
			NoCotizado
	FROM Lit_OTMaterialCotizado om
	INNER JOIN Lit_OT o ON (om.OTId = o.Id)
	LEFT JOIN Articulo A ON o.EmpresaId = A.Emp_id AND om.ArticuloId = A.Art_Id
	WHERE o.NumeroOT = @NumeroOT
	
          	            
	SET NOCOUNT OFF
END
GO